uht: fix reference counting issue
authorMatthew Cather <[email protected]>
Tue, 9 Sep 2025 07:32:18 +0000 (09:32 +0200)
committerFelix Fietkau <[email protected]>
Tue, 9 Sep 2025 12:50:51 +0000 (14:50 +0200)
`__reader_get_value` only ever returns a new object so the `ucv_get`
is not needed and adds an extra reference to the object.

Signed-off-by: Matthew Cather <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
src/ucode.c

index 5b06a54de78bf8d8d56207a781ab541670de20c5..362505a75c281b9f599dd3536e3e0c72a31c7b08 100644 (file)
@@ -110,13 +110,13 @@ __reader_get_value(uc_vm_t *vm, struct uht_reader *r, uint32_t attr, bool dump)
                if (type == UHT_HASHTBL)
                        ucv_object_add(val, hash_key, ucv_boolean_new(true));
                uht_for_each(r, iter, attr)
-                       ucv_object_add(val, iter.key, ucv_get(__reader_get_value(vm, r, iter.val, dump)));
+                       ucv_object_add(val, iter.key, __reader_get_value(vm, r, iter.val, dump));
                return val;
        case UHT_ARRAY:
                val = ucv_array_new(vm);
                i = 0;
                uht_for_each(r, iter, attr)
-                       ucv_array_set(val, i++, ucv_get(__reader_get_value(vm, r, iter.val, dump)));
+                       ucv_array_set(val, i++, __reader_get_value(vm, r, iter.val, dump));
                return val;
        }